perm filename TSTCON.FAI[CMS,LCS] blob sn#375358 filedate 1978-08-20 generic text, type T, neo UTF8
00100		TITLE CON11
00200		A←1 ↔B←2↔C←3 ↔D←4 ↔E←5↔X←6↔Y←7
00300		P←17 ↔ NBUFS←4 ↔ S←10 
00400	PDL:	BLOCK 22
00500	IBUF:	BLOCK 4
00600	OBUF:	BLOCK 4
00700	FILNAM:	'DSKTST'
00800		'DMP   '
00900		0
01000		0
01100	FIL2:	'LOAD11'
01200		'DSK   '
01300		0
01400		0
01500	
01600	STAR:	MOVE P,[PDPO:	IOWD 22,PDL]
01700		OPEN 11,[14↔'DSK   '↔IBUF]
01800		JRST 4,.
01900		INBUF 11,NBUFS
02000		LOOKUP 11,FILNAM
02100		JRST 4,.
02200		OPEN [14↔'DSK   '↔OBUF,,]
02300		JRST 4,.
02400		OUTBUF NBUFS
02500		ENTER FIL2
02600		JRST 4,.
02700	
02800		HRROI Y,-761	;-777 FOR LAST PROM (256 BYTES)
02900				;-7 FOR 1400 ?
03000	
03100	LOADER:	PUSHJ P,INP+1
03200		HRRZI X,200
03300		ADD X,IBUF+2
03400		AOJL Y,LOADER
03500		
03600		PUSHJ P,OUTP	;SETUP PDP 11 FORMAT
03700		HRRZI A,1
03800		HRRZM A,1(Y)
03900		AOBJP Y,ERROR
04000		SETZM 1(Y)
04100		AOBJP Y,ERROR
04200		HRRZI A,6
04300		HRRZM A,1(Y)
04400		AOBJP Y,ERROR
04500		HRRZI A,20
04600		HRRZM A,1(Y)
04700		AOBJP Y,ERROR
04800		SETZM 1(Y)
04900		AOBJP Y,ERROR
05000		HRRZI A,20
05100		HRRZM A,1(Y)
05200		AOBJP Y,ERROR
05300		HRRZI S,47	;START CHECK SUM
05400	
05500		HRLI C,-4000	;-400 FOR 256 PROM
05600	LOAD:	PUSHJ P,INP
05700		HRRZ A,1(X)
05800		ADDI S,(A)
05900		HRRZM A,1(Y)
06000		SETOM 2(Y)
06100		ADDI S,377
06200		AOBJP Y,ERROR
06300		AOBJP Y,OUTIT
06400	ADX:	AOBJP C,DONE
06500		AOBJN X,LOAD+1
06600		JRST LOAD
06700	
06800	OUTIT:	PUSHJ P,OUTP
06900		JRST ADX
07000	
07100	DONE:	XORI S,-1	;GET CHECK SUM
07200		AOJ S,
07300		ANDI S,377
07400		HRRZM S,1(Y)
07500		AOBJP Y,ERROR
07600		HRRZI A,1
07700		HRRZM A,1(Y)
07800		AOBJP Y,ERROR
07900		SETZM 1(Y)
08000		AOBJP Y,ERROR
08100		HRRZI A,6
08200		HRRZM A,1(Y)
08300		AOBJP Y,ERROR
08400		SETZM 1(Y)
08500		AOBJP Y,ERROR
08600		SETZM 1(Y)
08700		AOBJP Y,ERROR
08800		SETZM 1(Y)
08900		AOBJP Y,ERROR
09000		HRRZI 371	;LAST BLOCK CK SUM
09100		HRRZM 1(Y)
09200		AOBJP Y,ERROR
09300		
09400		PUSHJ P,OUTP
09500		RELEAS
09600		EXIT
09700	
09800	INP:	HRRM X,IBUF+1
09900		IN 11,
10000		JRST SETX
10100		STATO 11,20000
10200		JRST 4,.
10300	ERROR:	OUTSTR [ASCIZ/?????/]
10400		EXIT
10500	
10600	OUTP:	HRRM Y,OBUF+1
10700		OUT
10800		CAIA
10900		JRST 4,.
11000		HRRZ Y,OBUF+2
11100		MOVNI Y,(Y)
11200		HRLZI Y,(Y)
11300		HRR Y,OBUF+1
11400		POPJ P,
11500	
11600	SETX:	HRRZ X,IBUF+2
11700		MOVNI X,(X)
11800		HRLZI X,(X)
11900		HRR X,IBUF+1
12000		POPJ P,
12100	END STAR